package is1;

import is1.Fecha.Dia;

import java.util.ArrayList;
import java.util.HashMap;

public class VentaEntrada 
{
	private boolean cancelled;
	private Fecha fecha;
	private ArrayList<LineaVentaEntrada> lineas;
	private HashMap<String, String> atributosVenta;
	
	public VentaEntrada() 
	{
		cancelled = false;
		atributosVenta = new HashMap<String, String>();
		lineas = new ArrayList<LineaVentaEntrada>();
		fecha = null;
	}
	
	public boolean isCancelled()
	{
		return cancelled;
	}
	
	public void setCancelledStatus(boolean c)
	{
		this.cancelled = c;
		
		if (c == true)
		{
			lineas.clear();
			atributosVenta.clear();
		}
	}
	
	public void addAttribute(String c, String a)
	{
		atributosVenta.put(c, a);
	}
	
	public HashMap<String, String> getAtributos()
	{
		return atributosVenta;
	}
	
	public void setFecha (String d, String h)
	{
		String[] horaYMin = h.split(":");
		Dia dia = null;
		
		if (d.equals("L"))
		{
			dia = Dia.Lunes;
		}
		else if (d.equals("M"))
		{
			dia = Dia.Martes;
		}
		else if (d.equals("X"))
		{
			dia = Dia.Miercoles;
		}
		else if (d.equals("J"))
		{
			dia = Dia.Jueves;
		}
		else if (d.equals("V"))
		{
			dia = Dia.Viernes;
		}
		else if (d.equals("S"))
		{
			dia = Dia.Sabado;
		}
		else if (d.equals("D"))
		{
			dia = Dia.Domingo;
		}
		
		fecha = new Fecha(dia, Integer.valueOf(horaYMin[0]), Integer.valueOf(horaYMin[1]));
	}
	
	public Fecha getFecha()
	{
		return fecha;
	}
	
	public void undoLastLine ()
	{
		int size = lineas.size();
		
		if (size > 0)
		{
			lineas.remove(size - 1);
		}
	}
	
	public boolean addNewLine(String cod, int cant)
	{
		LineaVentaEntrada linea = new LineaVentaEntrada(cod, cant);
		
		return lineas.add(linea);
	}
	
	public ArrayList<LineaVentaEntrada> getLineas()
	{
		return lineas;
	}
}
